package br.com.reobotenet.model.DAO;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import br.com.reobotenet.model.entity.Usuario;
import br.com.reobotenet.model.util.JPAUtil;

public class UsuarioDAO {
	
	EntityManager em;
	
	public UsuarioDAO(){
		
		em = JPAUtil.abreConexao();
		
	}
    public void salvar(Usuario usuario){
    	
    	try {
    		em.getTransaction().begin();
    		em.merge(usuario);
    		em.getTransaction().commit();
			
		} catch (Exception e) {
			e.printStackTrace();
			em.getTransaction().rollback();
			
		}
    	
    }
    public void excluir (Usuario usuario){
    	
    	em.getTransaction().begin();
    	em.remove(usuario);
    	em.getTransaction().commit();
    }
    
    @SuppressWarnings("unchecked")
	public List<Usuario> buscarTodos(){
    	
    	Query consulta = em.createQuery("select u from Usuario u");//JPQL
    	return consulta.getResultList();
    	
    }
    
    public Usuario buscarPorid(Long id){
    	
    	return em.find(Usuario.class, id);
    }
    
}    